/* 
 * File:   OperacionSincronizacionRepositorio.cpp
 * Author: maximiliano
 * 
 * Created on 10 de junio de 2013, 19:02
 */

#include <iostream>
#include <fstream>
#include "client_OperacionSincronizacionRepositorio.h"
#include "client_OperacionSincronizacionArchivosNuevosEnCliente.h"
#include "client_OperacionSincronizacionArchivosEliminadosEnCliente.h"
#include "client_OperacionSincronizacionArchivosModificadosEnCliente.h"
#include "common_RepositorioBuilder.h"
#include "common_TokenFactory.h"
#include "client_Operacion.h"
#include "client_OperacionSecuencial.h"

using namespace std;
using namespace TP::Operaciones;
using namespace TP::Archivos;
using namespace TP::Comunicacion;


OperacionSincronizacionRepositorio::OperacionSincronizacionRepositorio(uint32_t pToken,Repositorio *pRepositorioLocal, FileServiceProxy* pFileService): OperacionSecuencial (pToken){
    
    _repositorioLocal = pRepositorioLocal;
    _fileService = pFileService;
    
    
    this->AgregarOperacion(new OperacionSincronizacionArchivosNuevosEnCliente (TokenFactory::Crear(), &_repositorioLocal, _fileService));
    this->AgregarOperacion(new OperacionSincronizacionArchivosEliminadosEnCliente(TokenFactory::Crear(), &_repositorioLocal,  _fileService));
//    this->AgregarOperacion(new OperacionSincronizacionArchivosModificadosEnCliente (TokenFactory::Crear(), &_repositorioLocal, &_repositorioServidor, _fileService));
}

OperacionSincronizacionRepositorio::~OperacionSincronizacionRepositorio() {}

Repositorio* OperacionSincronizacionRepositorio::setRepositorioLocal (Repositorio* pRepositorio){
    _repositorioLocal = pRepositorio;
    return pRepositorio;
}